package metier;

import junit.framework.TestCase;

/**
 * classe de test unitaire d'un Contrat
 * 	une r�f�rence : entier permettant de l'identifier  
 * 	l'objet du contrat et le nom du client concerné par ce contrat (chaînes de caractères)
 * @author Michele Lamballais
 *
 */
public class tstContrat extends TestCase {

		/**
    	 *
    	 */
               
        public void testContrat (int uneReference, String unObjetContrat, String unNomClient){
        	
        }
        
        /**
         * Test le rendu de la r�f�rence du contrat
         */
        public void testgetReference(){
        	Contrat unContrat = new Contrat(8, "Achat de pain", "alex");
    		assertTrue(unContrat.getReference()==8);	
        }

        /**
         *Test le rendu de l'objet du contrat
         */
        
        public void testgetObjetContrat(){
        	Contrat unContrat = new Contrat(8, "Achat de pain", "alex");
    		assertTrue(unContrat.getObjetContrat()=="Achat de pain");	
        }

        /**
         *Test le rendu de nom de client du contrat
         */
        public void testgetNomClient(){
        	Contrat unContrat = new Contrat(8, "Achat de pain", "alex");
    		assertTrue(unContrat.getNomClient()=="alex");	
        }
        	
        	/**
             *Test la modification de l'objet du contrat
             */
         
        public void testsetObjetContrat(){
            Contrat unContrat = new Contrat(8, "Achat de pain", "alex");
            String unObjetContrat = "blabla";
    		unContrat.setObjetContrat(unObjetContrat);
    		assertTrue(unContrat.getObjetContrat()=="blabla");
    		}
        /**
         *Test la modification du nom du client du contrat
         **/
         
        public void testsetNomClient(){
            Contrat unContrat = new Contrat(8, "Achat de pain", "jesus");
            String unNomClient = "alex";
    		unContrat.setNomClient(unNomClient);
    		assertTrue(unContrat.getNomClient()=="alex");
    		}	
        
        /**
         *Test le rendu de la chaine de contrat , minimaliste
         */  
        public void testtoString(){
        	Contrat unContrat = new Contrat(8, "Achat de pain", "alex");
        	String msg = unContrat.toString();
    		assertEquals(8 + " " + "Achat de pain" + " " + "alex", msg); }

        
        /**
         *Test le rendu de la chaine de contrat avec plus de description
         */

        public void testtoStringDescriptif() {

        	Contrat unContrat = new Contrat(8, "Achat de pain", "alex");
        	System.out.println(unContrat.toStringDescriptif());
        	assertEquals("reference : 8\nobjet du contrat : Achat de pain\nnom du client : alex",
    				unContrat.toStringDescriptif());
        }
    		
    		
    		

        public void testEquals() {

        	Contrat unContrat = new Contrat(8, "Achat de pain", "alex");
        	Contrat unContrat2 = new Contrat(8, "Achat de pain", "alex");
        	Contrat unContrat3 = new Contrat(9, "Vente de stylos", "benoit");
        	assertTrue(unContrat.equals(unContrat2));
        	assertFalse(unContrat.equals(unContrat3));

        }

}
